
export interface Params {
    "@type": string;
}

export interface Params2 {
    "@type": string;
}

export interface IUserInfoDept {
    searchValue?: any;
    createBy?: any;
    createTime?: any;
    updateBy?: any;
    updateTime?: any;
    remark?: any;
    params: Params2;
    deptId: number;
    parentId: number;
    ancestors: string;
    deptName: string;
    orderNum: number;
    leader: string;
    phone?: any;
    email?: any;
    status: string;
    delFlag?: any;
    roleId?: any;
    parentName?: any;
    isEdit?: any;
    children: any[];
}

export interface Params3 {
    "@type": string;
}

export interface Role {
    searchValue?: any;
    createBy?: any;
    createTime?: any;
    updateBy?: any;
    updateTime?: any;
    remark?: any;
    params: Params3;
    roleId: number;
    roleName: string;
    roleKey: string;
    roleSort: string;
    dataScope: string;
    menuCheckStrictly: boolean;
    deptCheckStrictly: boolean;
    status: string;
    delFlag?: any;
    flag: boolean;
    menuIds?: any;
    deptIds?: any;
    admin: boolean;
}

export interface IUserInfo {
    searchValue?: any;
    createBy: string;
    createTime: string;
    updateBy?: any;
    updateTime?: any;
    remark: string;
    params: Params;
    userId: number;
    deptId: number;
    roleId: number;
    roleName?: any;
    userName: string;
    employeeCode?: any;
    accountId?: any;
    leaderName?: any;
    nickName: string;
    email: string;
    phonenumber: string;
    sex: string;
    avatar: string;
    password: string;
    status: string;
    delFlag: string;
    loginIp: string;
    loginDate: Date;
    dept: IUserInfoDept;
    roles: Role[];
    roleIds?: any;
    postIds?: any;
    approverList?: any;
    approvers?: any;
    auditorList?: any;
    auditors?: any;
    admin: boolean;
}

export interface IUserApiResponse {
    msg: string;
    code: number;
    permissions: string[];
    roles: string[];
    user: IUserInfo;
}

